Computers are regularly being used for a variety of purposes throughout the world. As computers have become commonplace, computer manufacturers have continuously sought to make them more accessible and user-friendly. One such effort has been the development of natural input methods. For example, speech recognition permits a user to input data into a computer simply by speaking the data out loud. The phonemes of the user's speech then are analyzed to convert it into typewritten text Handwriting recognition alternately allows a user to input data by writing on a digitizer with a stylus to create electronic ink. The computer analyzes the shapes of the ink to convert it into typewritten text.
The advent of handwriting input techniques has been especially beneficial to many computer users. Some users can write characters by hand faster than they can type the same characters using a key board. These users can thus create handwriting input more quickly than keyboard input. Most East Asian language users also find handwriting input handwriting more efficient than keyboard input. East Asian languages typically are written using a pictographic character set having thousands of characters. Even a large keyboard cannot contain enough keys for a user to write in an East Asian language. Thus, a keyboard user is required to tediously convert phonetic characters represented on the keyboard into the desired pictographic characters. With a computer that accepts and recognizes handwriting input, an East Asian language user may now simply write the desired pictographic character directly in electronic ink. Still further, some users employ computers in environments that do not allow for the use of keyboards. For example, a doctor walking rounds in a hospital may create handwriting input where the use of a keyboard would be impractical.
While handwriting input techniques can be very convenient for a variety of users, the usefulness of these techniques largely depends upon their recognition accuracy. Consistently accurate handwriting recognition can be difficult to obtain, however, as different users will write the same character using a wide variety of different shapes.
To address the issue of handwriting recognition, some software developers have created handwriting recognition software applications that are generic to a wide variety of users. These software applications employ one or more handwriting recognition techniques that are common to all forms of handwriting for a language. For example, some of these techniques may compare a handwritten character to a set of character prototypes to determine which prototype the handwritten character most closely resembles. The set of prototypes will then include one or more conventional allographs for each character in the user's alphabet. While these generic recognition techniques will recognize handwriting “out of the box” for a wide variety of users, they typically will not provide a high recognition accuracy rate for any particular user. Moreover, the accuracy of these types of recognition techniques usually will not improve over time.
Some software developers alternate to provide personalized handwriting recognition software applications that will learn to recognize a specific individual's handwriting. These applications typically require a user to input a large amount of handwriting data during the learning process, however, as a result, some of these handwriting recognition software applications are not very accurate “out of the box.” Further, many users are reluctant to invest the time required to properly train this type of software to recognize the user's handwriting. In addition, these personalized handwriting recognition software applications are susceptible to overtraining. As the software continues to refine its recognition process over time, it may include aberrant character shapes written by the user in its training data. These occasionally abnormal character shapes, uncommon to the user's typically writing, may actually reduce the application's recognition accuracy over time.